/*
 * Copyright (C), 2002-2016, 上海亦寻信息技术有限公司
 * FileName: SubscribeServiceImp.java
 * Author:   linyao
 * Date:     2016-7-8 下午2:42:24
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.emm.yixun.website.service.image;

import java.util.ArrayList;
import java.util.List;

import org.activiti.engine.HistoryService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.ProcessInstanceHistoryLog;
import org.activiti.engine.task.Comment;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.emm.yixun.common.model.Image;
import com.emm.yixun.common.model.User;
import com.emm.yixun.common.model.dto.ImageDto;
import com.emm.yixun.common.model.dto.SubscribeDto;
import com.emm.yixun.common.model.dto.UserDto;
import com.emm.yixun.common.model.enums.DelFlagEnum;
import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;
import com.emm.yixun.customer.service.SubscribeServiceFacade;
import com.emm.yixun.system.service.ImageServiceFacade;
import com.emm.yixun.system.service.UserServiceFacade;
import com.emm.yixun.website.common.utils.security.ShiroUtil;
import com.emm.yixun.website.vo.process.HistoryTaskInfoVo;

/**
 * 〈一句话功能简述〉 〈功能详细描述〉
 * 上传附件
 * @author linyao
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
@Service("wsImageService")
public class WsImageServiceImpl implements WsImageService {

	@Autowired
	private ImageServiceFacade imageServiceFacade;
	
	public void uploadAttachment(String fileArrStr, String objectId, String imageType, String projectCode) {
		//2017年1月15号,修改人杨明，上传附件需保存文件名称，参数fileArrStr格式扩展为  http://xxxx:9090/img/xxxx.png|http://xxxx:9090/img/xxxx.png;1.png|2.png
		if(fileArrStr.indexOf(";")>0){
			String[] fileArrs=fileArrStr.split(";");
			String fileUrls=fileArrs[0];
			String fileNames=fileArrs[1];
			
			//文件上传附件
			String[] fileArrUrls = fileUrls.split("[|]");
			String[] fileArrNames = fileNames.split("[|]");
			if(null==fileArrUrls || fileArrUrls.length==0 || null==fileArrNames || fileArrNames.length==0 || StringUtils.isBlank(objectId) || StringUtils.isBlank(projectCode)){
				return;
			}
			
			ImageDto delImgDto = new ImageDto();
			delImgDto.setObjectId(Long.valueOf(objectId));
			delImgDto.setImgType(imageType);
			ResponseList<Image> resImgList = imageServiceFacade.findByDto(delImgDto);
			if(resImgList.isSuccess()){
				List<Image> imgList = resImgList.getEntity();
				if(null != imgList){
					for(Image img: imgList){
						imageServiceFacade.deleteByPrimaryKey(img.getId());
					}
				}
			}
			
			User user = ShiroUtil.getCurrentUser();
			for(int ii=0; ii<fileArrUrls.length; ii++){
				if(StringUtils.isNotEmpty(fileArrUrls[ii])){
					try {
						ImageDto imageDto = new ImageDto();
						imageDto.setObjectId(Long.valueOf(objectId));
						imageDto.setTitle(fileArrNames[ii]);
						imageDto.setContent("流程附件");
						imageDto.setSmallUrl(fileArrUrls[ii]);
						imageDto.setImgType(imageType);
						imageDto.setMerchantId(user.getMerchantId());
						imageDto.setUserCode(user.getUserCode());
						imageDto.setAccessCode(projectCode);
						imageDto.setCreateUserId(user.getId());
						imageDto.setDelFlag(DelFlagEnum.UNDEL.getNo());
						imageServiceFacade.save(imageDto);
					} catch (NumberFormatException e) {
						e.printStackTrace();
					}
				}
			}
		}
		
	}
	
}
